package com.fuze.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @author sepc_
 * @date 5/19/2021 13:49
 * 售电合同表 （保底方式）
 */
@ApiModel(value = "com-fuze-domain-dto-MinimumGuaranteeContractDTO", description = "售电合同表（保底方式）的数据传输对象")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MinimumGuaranteeContractDTO implements Serializable {
    private static final long serialVersionUID = 1753196284349215702L;
    /**
     * 自增主键
     */

    @ApiModelProperty(value = "自增主键（更新请求时必须携带）")
    private Integer id;

    /**
     * 购电公司
     */
    @NotBlank(message = "购电公司名称不能为空")
    @ApiModelProperty(name = "marketMembersName", value = "购电公司", required = true)
    private String marketMembersName;

    /**
     * 售电公司
     */
    @NotBlank(message = "售电公司名称不能为空")
    @ApiModelProperty(name = "electricitySalesCompany", value = "售电公司", required = true)
    private String electricitySalesCompany;

    /**
     * 保底差价
     */
    @NotNull(message = "保底差价不能为空")
    @ApiModelProperty(name = "minimumPriceDifference", value = "保底差价", required = true)
    private Double minimumPriceDifference;

    /**
     * 合同开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull(message = "合同开始时间不能为空")
    @ApiModelProperty(name = "contractStartDate", value = "合同开始时间", required = true)
    private Date contractStartDate;

    /**
     * 合同结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull(message = "合同结束时间不能为空")
    @ApiModelProperty(name = "contractEndDate", value = "合同结束时间", required = true)
    private Date contractEndDate;
}